Ext.ns("FormCadastro");
/* Form Cadastro */

var itens = [ 	{
						xtype : 'textfield',
						fieldLabel : 'Destino',
				 		name : 'Destino',
				 		anchor : '97%',
						allowBlank : false
					},
					 {
						text : '',
						height : 10
									 
					 },
					 {
						xtype : 'textfield',
						fieldLabel : 'Endereço',
						name : 'End_Destino',
						anchor : '97%',
						allowBlank : false
					 },	
					 {
						text : '',
						height : 10
									 
					 },
					 {
						 xtype : 'tabpanel',
						 plain : true,
						 activeTab : 0,
						 height : 200,
						 defaults : {
							 bodyStyle : 'padding : 10px'
						 },
						 items : [ {
								  cls : 'x-plain',
								  title : 'Descrição',
								  layout : 'fit',
								  items : {
									xtype : 'textarea',
									id : 'Descricao_Anexo',
									name : 'Descricao_Anexo',
									fieldLabel : 'Descrição',
									defaultValue : ' ',
									allowBlank : false
								  }	  
						 }]
}];

var onSuccessOrFail = function(formPanel, action) {
      var formPanel = Ext.getCmp('formCadID');
      formPanel.el.unmask();
      
      var result = action.result;
      if (result.success) {
        Ext.Msg.show( {
			title : 'Sucesso',
			msg : 'Protocolo cadastrado com sucesso!<br>Deseja gerar relatório?',
			width : 300,
			scope : this,
			buttons : Ext.Msg.YESNO,
			icon : Ext.MessageBox.QUESTION,
			fn : function(btn, text) {
				if(btn == 'yes') {
					var grid = Ext.getCmp('gridProtocolo');
					grid.getSelectionModel().selectFirstRow();
					var rec = grid.getSelectionModel().getSelected();
					var data = rec.get('Data');
					var data = data.format('d/m/Y');
					var win = new Ext.Window( {
						title : 'Relatório',
						height: 600,
						width: 700,
						closeAction: 'close',
						maximizable: true,
						autoLoad: {
							url:'resources/pdf/pdfForm.php',
							params : {
								Data : data,
								Numero : rec.get('Numero'),
								Origem : rec.get('Origem'),
								Destino : rec.get('Destino'),
								End_Destino : rec.get('End_Destino'),
								Descricao_Anexo : rec.get('Descricao_Anexo')
							}
						}
					})
					win.show();
				}
			}
		});
		GridProtocolo.winC.hide();
		GridProtocolo.StoreProtocolo.load();
      }
      else {
        Ext.Msg.show( {
			title : 'Aviso',
			msg : 'Falha ao cadastrar protocolo!',
			width : 300,
			buttons : Ext.Msg.OK,
			icon : Ext.MessageBox.ERROR
		});
		GridProtocolo.winC.hide();
      }
    };

var submitHandler = function() {
	var formPanel = Ext.getCmp('formCadID');
    formPanel.el.mask('Aguarde', 'x-mask-loading');
	
	if (formPanel.getForm().isValid()) {
		formPanel.getForm().submit( {
			url : 'resources/sql/salvar.php',
			method : 'POST',
    		success : onSuccessOrFail,
        	failure : onSuccessOrFail
		});
	}
	else {
		Ext.Msg.show( {
			title : 'Aviso',
			msg : 'Preencha os campos obrigatórios!',
			width : 300,
			buttons : Ext.Msg.OK,
			icon : Ext.MessageBox.WARNING
		});
		formPanel.el.unmask();
	}
	  
};

var buttons =  [ {
				   text : 'Gravar',
				   iconCls : 'silk-page-save',
				   handler : submitHandler
			   	 },
			     {
				   text : 'Limpar Dados',
				   handler : function() {
					   FormCadastro.form.getForm().reset();
				   }
			   	 }
			];

FormCadastro.form = new Ext.form.FormPanel( {
	title : 'Entre com os dados',
	frame : true,
	width : 600,
	autoHeigth : true,
	id : 'formCadID',
	validateBlur : true,
	items : itens,
	buttons : buttons
});
/* end Form Cadastro */